﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace ConjureBivouac2012.GameStates
{
    public interface IGlobalGameState
    {
        /// <summary>
        /// Initialization method for a state
        /// </summary>
        /// <param name="SM"></param>
        void Enter();
        /// <summary>
        /// The method called each frame to update the main sm
        /// </summary>
        /// <param name="SM"></param>
        void Execute(GameTime gameTime);
        /// <summary>
        /// Clean up of state machine
        /// </summary>
        /// <param name="SM"></param>
        void Exit();
        /// <summary>
        /// Display visual components of the state
        /// </summary>
        /// <param name="SM"></param>
        void Draw(SpriteBatch theSpriteBatch);
    }
}
